一般foreach用于遍历数组,for in既可以遍历对象也可以遍历数组.一般用于遍历对象.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //for in语法
        //for(var key in 数组/对象){} 
        //注意:他会遍历对象,将键挨个赋值给key变量,没有更多键时退出遍历.
        //数组的索引默认是数值型,但是通过for in遍历就变成字符串,即隐藏的瑕疵.
        var obj={name:'举起手来',age:18}
        for(var key in obj){
            console.log(key,obj[key]);
        }
        var arr=['11','22','33']
        for(var key1 in arr){
            console.log(key1,arr[key1],key1+1);//key1+1打印出来变成了01,说明不是数字类型,而是字符串类型容易产生坑
        }
    </script>
</body>
</html>